exports.bulk_purchase_activity_join = function (req, res) {

    var bodyParams = req.routeInfo.bodyParams;

    //最终结果
    var resultData = {};

    var bpau_id = 0;

    var joinUser = [];

    var oa_title = "";

    var userInfo = {};

    var oa_end_time = 0;

    var oa_start_time = 0;

    var nowPrice = 0;

    var o_id = 0;

    //任务流创建
    async.waterfall([

            //参加活动
            function (cb) {
                
                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.bulkPurchaseActivityJoin,
                        method: 'POST',
                        data  : {
                            "u_id"          : bodyParams.u_id,
                            "oa_id"         : bodyParams.oa_id,
                            "f_id"          : bodyParams.f_id,
                            "order_NO"      : bodyParams.order_NO,
                            "min_count"     : bodyParams.min_count,
                            "is_validation" : bodyParams.is_validation
                        }
                    },
                    function (err, data) {
                        console.log(11111,data);
                        //判断是否有错误信息
                        if (err) {
                            return RES.response(res, false, data);
                        }

                       
                        bpau_id = data.bpau_id;

                        //console.log("团长的ID："  + bpau_id);


                        //判断是否为验证操作
                        if( bodyParams.is_validation == 1 ){
                            
                            return RES.response(res, true, data);

                        }else if( bpau_id == 0 ){

                            //发送参与私信
                            cb();
                            // return RES.response(res, true, data);

                        }else if( bodyParams.is_validation == 0 && parseInt(bpau_id) > 0 ){

                            cb();

                        }else{

                            return RES.response(res, false, "参团失败");

                        }
    
                    }
                );
            },

            //查询活动名称
            function(cb){
    
                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.search_organization_activity_info + "/oa_id/"+bodyParams.oa_id,
                        method: 'POST',
                        data : {
                            fields : ["oa_title","oa_oid","oa_end_time","oa_start_time"].join(",")
                        }
                    },
                    function (err, data) {
                        console.log(2222,data);
                        //判断是否有错误信息
                        if (err) {
                            return cb(err, data);
                        }

                        console.log(data);
                        oa_title = data.data[0].oa_title;

                        o_id    = data.data[0].oa_oid;

                        oa_end_time = data.data[0].oa_end_time;

                        oa_start_time = data.data[0].oa_start_time;

                        cb();

                    }
                );

            },

             //查询活动配置信息（是否有优惠劵奖励）
            //  function(cb){
            //
            //
            //     R.SEND_HTTP(
            //         req,
            //         {
            //             url: CORE_APIConfig.coreAPI.searchBulkPurchaseActivityConfig + "/bpac_oaid/"+bodyParams.oa_id,
            //             method: 'POST',
            //             data:{
            //                 fields : ["bpac_participant_coupon_id","bpac_participant_coupon_type","bpac_participation_price","bpac_min_count"].join(",")
            //             }
            //         },
            //         function (err, data) {
            //
            //             console.log(333,data);
            //
            //             //判断是否有错误信息
            //             if (err) {
            //                 return cb();
            //             }
            //
            //             //获取当前参与的价格
            //             var minCountArr         = data.data[0].bpac_min_count.split("|");
            //             var participation_price = data.data[0].bpac_participation_price.split("|");
            //
            //             for(var i=0;i<minCountArr.length;i++){
            //                 if(minCountArr[i] == bodyParams.min_count){
            //                     nowPrice = participation_price[i];
            //                 }
            //             }
            //
            //             var coupon = data.data[0];
            //
            //             //判断是否有开团奖励代金劵
            //             if(coupon.bpac_participant_coupon_id == 0){
            //                 return cb();
            //             }
            //
            //
            //             //如果有代金劵将代金劵写入用户代金劵表
            //             if(coupon.bpac_participant_coupon_type == 0){  //代金劵
            //
            //                 R.SEND_HTTP(
            //                     req,
            //                     {
            //                         url    : CORE_APIConfig.coreAPI.addUserCashCoupon,
            //                         method : 'POST',
            //                         data:{
            //                             ucc_uid : bodyParams.u_id,
            //                             ucc_ccid : coupon.bpac_participant_coupon_id
            //                         }
            //                     },
            //                     function (err, data) {
            //                         console.log(4444,data);
            //                         cb();
            //
            //                     }
            //                 );
            //
            //             }else if(coupon.bpac_participant_coupon_type == 1){ //约课劵
            //
            //                 R.SEND_HTTP(
            //                     req,
            //                     {
            //                         url    : CORE_APIConfig.coreAPI.add_course_coupon,
            //                         method : 'POST',
            //                         data:{
            //                             ucc_uid : bodyParams.u_id,
            //                             ucc_ccid : coupon.bpac_participant_coupon_id
            //                         }
            //                     },
            //                     function (err, data) {
            //                         console.log(6666,data);
            //                         cb();
            //
            //                     }
            //                 );
            //
            //
            //             }else if(coupon.bpac_participant_coupon_type == 2){ //兑换卷
            //
            //                 R.SEND_HTTP(
            //                     req,
            //                     {
            //                         url    : CORE_APIConfig.coreAPI.add_exchange_coupon,
            //                         method : 'POST',
            //                         data:{
            //                             uec_uid : bodyParams.u_id,
            //                             uec_ecid : coupon.bpac_participant_coupon_id
            //                         }
            //                     },
            //                     function (err, data) {
            //                         console.log(5555,data);
            //                         cb();
            //
            //                     }
            //                 );
            //
            //             }else {
            //                 return cb();
            //             }
            //
            //         }
            //     );
            //
            // },

            //查询用户信息
            function (cb) {

                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.userSearch + "/u_id/" + bodyParams.u_id,
                        method: 'POST',
                        data: {
                            fields: ["u_nickname", "openid"].join(",")
                        }
                    },
                    function (err, data) {

                        //判断是否有错误信息
                        if (err) {
                            return cb(err, data);
                        }

                        userInfo = data.data[0];

                        cb();

                    }
                );

            },

            //给参与的用户发私信
            function (cb) {

                if (userInfo.openid == "" || userInfo.openid == null) {

                    //console.log(444,userInfo.openid);

                    if( parseInt(bpau_id) == 0 ) {
                        return RES.response( res, true );
                    }else{
                        return cb();
                    }
                }

                userInfo.openid = userInfo.openid.replace(/\*/g,"-"); 

                var clickurl = config.publicConfig.CLICK_SERVER + "my_collage?bpau_uid="+bpau_id+"&oa_id="+bodyParams.oa_id+"&bpau_member_count=" + bodyParams.min_count;

                R.SEND_HTTP(
                    req,
                    {
                        url: "http://127.0.0.1:3400/weixin/templateMessagesSent",
                        method: 'POST',
                        data: {
                            openid: userInfo.openid,
                            type: "canTuanChengGong",
                            bookingName: oa_title,
                            bookingTime:common.timestampToTime(oa_start_time),
                            bookingMoney:bodyParams.new_price,
                            bookingValidity:common.timestampToTime(oa_end_time),
                            bookingLack:bodyParams.diff_count,
                            clickurl : clickurl
                        }
                    },
                    function (err, data) {

                        //console.log(5555,data);

                        //console.log("用户 ：" + userInfo.u_nickname + "发送成功");

                        //console.log(bpau_id == 0);
                        if( parseInt(bpau_id) == 0 ) {
                            //console.log("没成团")
                            return RES.response( res, true );
                        }else{
                            //console.log("成团")
                            return cb();
                        }


                    }
                );


            },

            //如果拼团完成，查看团长信息
            function(cb){

                //console.log(9999999);

                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.bulkPurchaseActivityJoinUser + "/bpau_id/"+bpau_id,
                        method: 'POST'
                    },
                    function (err, data) {

                        //console.log(6666,data);

                        //判断是否有错误信息
                        if (err) {
                            return cb(err, data);
                        }

                        joinUser = data.data;

                       cb();

                    }
                );
            },

             //如果拼团完成，查看成员信息
            function(cb){

                R.SEND_HTTP(
                    req,
                    {
                        url: CORE_APIConfig.coreAPI.bulkPurchaseActivityJoinUser + "/bpau_fid/"+bpau_id,
                        method: 'POST'
                    },
                    function (err, data) {

                        //console.log(7777,data);

                        //判断是否有错误信息
                        if (err) {
                            return cb(err, data);
                        }
                        
                        joinUser = joinUser.concat(data.data);

                        //console.log(joinUser);

                       cb();

                    }
                );

            },

            //生成消费验证码
            function(cb){

                //addConsumeNum
                
                var tasks = [];

                //循环节点列表
                joinUser.forEach(function (item, i) {

                    //创建每一个插入任务
                    tasks.push(function (callback) {

                        R.SEND_HTTP(
                            req,
                            {
                                url: CORE_APIConfig.coreAPI.addConsumeNum,
                                method: 'POST',
                                data  : {
                                    cn_uid  : item.bpau_uid,
                                    cn_oid  : o_id,
                                    cn_coid : 0,
                                    cn_ono  : item.bpau_order_no
                                }
                            },
                            function (err, data) {

                                //console.log("生成消费码：" + data);

                                item.consumer_code = data;

                                callback();
        
                            }
                        );

                    });

                });

                async.waterfall(tasks, cb);

            },


            //发送成功私信
            function(cb){

                var tasks = [];

                //console.log( "需发送总量：" + joinUser.length );

                //循环节点列表
                joinUser.forEach(function (item, i) {

                    //创建每一个插入任务
                    tasks.push(function (callback) {

                        if(item.openid == "" || item.openid == null){

                        }

                        R.SEND_HTTP(
                            req,
                            {
                                url: "http://127.0.0.1:3400/weixin/templateMessagesSent",
                                method: 'POST',
                                data  : {
                                    openid : item.openid,
                                    type   : "pinTuanChengGong",
                                    shopname : oa_title
                                }
                            },
                            function (err, data) {

                                //发送短信
                                //console.log("已给" + item.o_name + "发送了私信");
        
                                //发送短信
                                if( item.o_phone == "" ){
                                    return callback();
                                }

                                R.SEND_HTTP(
                                    req,
                                    {
                                        url: CORE_APIConfig.coreAPI.sendCodeSms,
                                        method: 'POST',
                                        data  : {
                                            phone : item.o_phone,
                                            type  : 3,
                                            activity_name : oa_title,
                                            order_no : item.bpau_order_no,
                                            consumer_code : item.consumer_code
                                        }
                                    },
                                    function (err, data) {
            
                                        //发送短信
                                        //console.log("已给" + item.o_phone + "发送了短信");
            
                                        callback();
            
                                    }
                                );

                            }
                        );

                    });

                });

                async.waterfall(tasks, cb);

            }
            

        ], function (err, result) {

            //返回最终拼接结果
            RES.response(res, true);

        }
    );

}